/*日期操作方法*/
// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { 
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

function isInArray(arr,value){
    for(var i = 0; i < arr.length; i++){
        if(value == arr[i]){
            return true;
        }
    }
    return false;
}

function getLocalTime(theDate) {
    theDate=""+theDate+"";//因为jsonDate是number型的indexOf会报错
	if (theDate.indexOf("+") > 0) {
        theDate = theDate.substring(0, theDate.indexOf("+"));
	}else if (theDate.indexOf("-") > 0) {
        theDate = theDate.substring(0, theDate.indexOf("-"));
	};
	var date = new Date(parseInt(theDate, 10));
    var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
    var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
    var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
    var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
    var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
    return date.getFullYear() + "-" + month + "-" + currentDate+ " "+hours+":"+minutes+":"+seconds;
};


var Dateinit = function () { // 参数格式为中国标准时间 [new Date()类型的]
    return {
    	/*获取给定日期上一天*/
    	getBeforeDay:function (theDate) {
    		var nextDay = new Date(theDate.getTime() - 1000*60*60*24);
    		return nextDay.Format("yyyy-MM-dd hh:mm");
    	},
        /*获取给定日期下一天*/
    	getNextDay:function (theDate) {
    		var nextDay = new Date(theDate.getTime() + 1000*60*60*24);
    		return nextDay.Format("yyyy-MM-dd hh:mm");
    	},
        /*获取给定日期月第一天*/
        getMonthFirstDay:function (date) {
            date.setHours(0);
            date.setMinutes(0);
            date.setDate(1);
            return date.Format("yyyy-MM-dd hh:mm");
        },
        /*获取给定日期月最后一天*/
        getMonthLastDay:function (date) {
            var currentMonth=date.getMonth();
            var nextMonth=++currentMonth;
            var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
            var oneDay=1000*60*60*24;
            var dt = new Date(nextMonthFirstDay-oneDay);
            dt.setHours(23);
            dt.setMinutes(59);
            return dt.Format("yyyy-MM-dd hh:mm");
        },
        /*获取一时间到本周第一天(周日)*/
		getWeekFirstDay:function (theDate) {
			// 当前日期（号）
			var date = theDate.getDate();
			// 当前时间在该星期的第几天
			var diDate = theDate.getDay();
			// 当前星期的周日
			var startDate = date-diDate;
			// 设置当前星期的周日时间格式
			var firstDateOfWeek = new Date(theDate.getFullYear(),theDate.getMonth(),startDate).Format("yyyy-MM-dd hh:mm");
			return firstDateOfWeek;
		},
        /*获取一时间到本周最后一天(周六)*/
	   	 getWeekLastDay: function (theDate){
			var lastDateOfWeek;
			theDate.setDate(theDate.getDate() + 6 - theDate.getDay()); 	 
			lastDateOfWeek = theDate;
			return lastDateOfWeek.Format("yyyy-MM-dd hh:mm");	
        },
        /*获取当前时间的上一个月的时间*/
        getPreMonth:function (date) {
        	var date = date.Format("yyyy-MM-dd hh:mm");
        	var arr = date.split('-');
		    var year = arr[0]; //获取当前日期的年份
		    var month = arr[1]; //获取当前日期的月份
		    var day = arr[2]; //获取当前日期的日
		    var days = new Date(year, month, 0);
		    days = days.getDate(); //获取当前日期中月的天数
		    var year2 = year;
		    var month2 = parseInt(month) - 1;
		    if (month2 == 0) {
		        year2 = parseInt(year2) - 1;
		        month2 = 12;
		    };
		    var day2 = day;
		    var days2 = new Date(year2, month2, 0);
		    days2 = days2.getDate();
		    if (day2 > days2) {
		        day2 = days2;
		    };
		    if (month2 < 10) {
		        month2 = '0' + month2;
		    };
		    var t2 = year2 + '-' + month2 + '-' + day2;
		    return t2;
        },
        /*获取当前时间的下一个月的时间*/
        getNextMonth:function (date) {
        	var date = date.Format("yyyy-MM-dd hh:mm");
			var arr = date.split('-'); // 以'-'分割当前时间为下边获取年月日
		    var year = arr[0]; //获取当前日期的年份
		    var month = arr[1]; //获取当前日期的月份
		    var day = arr[2]; //获取当前日期的日
		    var days = new Date(year, month, 0); // 实例化当前时间
		    days = days.getDate(); //获取当前日期中的月的天数
		    var year2 = year; // 将当前年赋值给下一年
		    var month2 = parseInt(month) + 1; // 当前月数+1为下一月
		    if (month2 == 13) { // 判断是否跨年
		        year2 = parseInt(year2) + 1;
		        month2 = 1;
		    };
		    var day2 = day; // 当前日期的日赋值给下一月的日
		    var days2 = new Date(year2, month2, 0); // 实例化下一月的时间
		    days2 = days2.getDate(); //获取下一月日期中的月的天数
		    if (day2 > days2) { // 判断是否跨月(28,29,30,31日的情况)
		        day2 = days2;
		    };
		    if (month2 < 10) {
		        month2 = '0' + month2;
		    };
		    var nextMonth = year2 + '-' + month2 + '-' + day2;
			return nextMonth;
		},
    }
}();


/*弹出层封装*/
var layerAlert = {
    // 错误弹出层
    errorMessage: function(message) {
        layer.open({
            content: '<span style="font-size: 16px;font-weight: bold;">' + message + '</span>',
            icon:2,
            move:false,
            skin: 'layui-layer-rims',
            title : '错误提示',
        });
    },
    warnMessage: function(message) {
        layer.open({
            content: '<span style="font-size: 16px;font-weight: bold;">' + message + '</span>',
            icon:0,
            move:false,
            skin: 'layui-layer-rims',
            title : '警告提示',
        });
    },

    //成功弹出层带刷新表格
  /*  successMessage : function(message,callback) {
        var index = layer.open({
            content: '<span style="font-size: 16px;font-weight: bold">' + message + '</span>',
            icon : 1,
            move:false,
            skin: 'layui-layer-rims',
            title: '成功信息',
            yes : function(){
                    // location.href=url;
                if (typeof (callback) === "function") {
                    layer.close(index);
                    callback("ok");
                }
            },
        });
    },*/
    successMessage2 : function(message) {
        var index = layer.open({
            content: '<span style="font-size: 16px;font-weight: bold">' + message + '</span>',
            icon : 1,
            move:false,
            skin: 'layui-layer-rims',
            title: '成功信息',
            yes : function(){
                layer.close(index);
            }
        });
    },
    successMessage : function(message,url) {
        var index = layer.open({
            content: '<span style="font-size: 16px;font-weight: bold">' + message + '</span>',
            icon : 1,
            move:false,
            skin: 'layui-layer-rims',
            title: '成功信息',
            yes : function(){
                location.href=url;
            },
        });
    },
    // 确认弹出层
    confirmMessage : function(message,url,callback) {
        layer.open({
            content: '<span style="font-size: 16px;font-weight: bold;">' + message + '</span>',
            icon:3,
            move:false,
            skin: 'layui-layer-rims',
            btn : ['是','否'],
            btn1 : function(){
                // location.href=url;
                $.ajax({
                    method: "POST",
                    url:url,
                    type:"json",
                    success:callback
                })
            },
            btn2 : function(){
                return false;
            }
        });
    },

    confirmPassword : function(message,url,callback) {
        layer.open({
            content: '<span style="font-size: 16px;font-weight: bold;">' + message + '</span>',
            icon:3,
            move:false,
            skin: 'layui-layer-rims',
            btn : ['是','否'],
            btn1 : function(){
                // location.href=url;
                $.ajax({
                    method: "POST",
                    url:url,
                    type:"json",
                    success:callback
                })
            },
            btn2 : function(){
                return false;
            }
        });
    },


    //无需跳转到指定页面的确认弹出层
    toconfirm : function(message,callback) {
        layer.open({
            content: '<span style="font-size: 16px;font-weight: bold;">' + message + '</span>',
            icon:3,
            move:false,
            skin: 'layui-layer-rims',
            btn : ['确定','取消'],
            btn1 : function () {
                if (typeof (callback) === "function") {
                    layer.close(index);
                    callback("ok");
                };
            },
            btn2 : function () {
                return false;
            }
        });
    },
}

/*选择删除一条表格时的传参*/
function getSelectedDeleteParams(){
    var ids = "";
    var p_n = $('#tb_ads').bootstrapTable('getData');
    if (p_n != null && p_n.length > 0) {
        var len = $('#tb_ads').bootstrapTable('getData').length;
        for (var i = 0; i < len; i++) {
            if ($('#tb_ads').bootstrapTable('getData')[i].check == true) {
                ids = $('#tb_ads').bootstrapTable('getData')[i].uuid;
            };
        };
    };
    return ids;
}
/*下拉模糊查询下拉框的出现封装*/
function displayResult(item, val, text) {
    /*
    console.log(item);//所选属性
    console.log(val);//所选值的序号
    console.log(text);//所选值
    */
    $('.alert').show().html('You selected <strong>' + val + '</strong>: <strong>' + text + '</strong>');
};
/**
 * 获取传入页面授权最后':'的参数来进行按钮判断
 * zhangYiHang 2018.3.20
 * @returns {Array|*}
 */
function paramUrlByButten() {
    urlinfo=window.location.href; //获取当前页面的url
    len=urlinfo.length;//获取url的长度
    offset=urlinfo.indexOf("?");//设置参数字符串开始的位置
    newsidinfo=urlinfo.substr(offset+1,len)//取出参数字符串
    newsids=newsidinfo.split(",");
    for (var i in  newsids){
        var index = newsids[i] .lastIndexOf(":");
        newsids[i] = newsids[i].substring(index+1);
    }
    return newsids;
}
// 省市下拉列表
// $.ajax({
//     url:projectPath+"/sync/organizations/findByParentOrgNo?parentcode=3",
//     type:"get",
//     dataType:"json",
//     success:function(obj){
//         var data = obj.data
//         for(var i = 0; i < data.length; i++){
//             $("#provinceOrgCode").append('<option value="'+ data[i].orgno +'">'+ data[i].name +'</option>')
//         };
//         $("#provinceOrgCode").change(function(){
//             var paramid = $(this).val(); // 参数
//             $.ajax({
//                 url:projectPath+"/sync/organizations/findByParentOrgNo?parentcode=" +paramid,
//                 type:"get",
//                 dataType:"json",
//                 async:false,
//                 success:function(data){
//                     $("#cityOrgCode").empty();
//                     $("#cityOrgCode").append("<option value=''>--请选择--</option>");
//                     var cityList=data.data;
//                     $.each(cityList,function(index, item){
//                         $("#cityOrgCode").append("<option value='"+item.orgno+"'>"+item.name+"</option>");
//                     });
//                 }
//             });
//         });
//         // $.each(function(index, data) {
//         //
//         // });
//     },
//     error:function(){
//         layerAlert.errorMessage("不好意思，数据出错啦！");
//     }
// });

/*列表页面中清空搜索框的功能实现*/
$(document).ready(function() {
    $('#btnEmpty').click(function(){
        $('.form-searchInput input').each(function(){$(this).val("")});
        $('.form-searchInput select').each(function(){$(this).val("")});
    })
});


//强制保留两位小数
function twoDecimal(number){
    if(isNaN(number)){
        return;
    }
    return Math.round(number*100)/100;
};

function mustTwoDecimal(number){
    var num = twoDecimal(number).toString();
    var index = num.indexOf(".");
    if(index <= 0){
        num += '.';
        index = num.length - 1;
    }
    while((index + 3) != num.length){
        num += '0';
    }
    return num;
};

// 强制保留五位小数
function fiveDecimal(number){
    if(isNaN(number)){
        return
    };
    return Math.round(number*100000)/100000;
};

function mustFiveDecimal(number){
    debugger;
    var num = fiveDecimal(number).toString();
    var index = num.indexOf(".");
    if(index <= 0){
        num += '.';
        index = num.length - 1;
    }
    while((index + 6) != num.length){
        num += '0';
    }
    return num;
};


